Imports System.Data
Imports CrystalDecisions.CrystalReports.Engine

Partial Class AvisoArriboReporte
  Inherits System.Web.UI.Page

  Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load

    Try
      Dim reporte As New ReportDocument()
      ' Detalle del documento
      reporte.Load(Server.MapPath("~\Documentos\AvisoArribo\Reporte\rptAvisoArribo.rpt"))

      'Datos encabezado
      Dim docAvisoArribo As New DataAccesAvisoArribo()
      Dim AvisoArriboDetalle As New DataSet("DetalleDocumento")
      AvisoArriboDetalle = docAvisoArribo.AvisoArribo_DetalleXML(CInt(Request.QueryString("nidDocumento")))
	  AvisoArriboDetalle.Tables(0).TableName = "Encabezado"
	  AvisoArriboDetalle.Tables(1).TableName = "DetalleDocumento"
	  AvisoArriboDetalle.Tables(2).TableName = "Anexos"
	  AvisoArriboDetalle.Tables(3).TableName = "Incidencias"
	  
	  Dim tEncabezado As DataTable=AvisoArriboDetalle.Tables(0)
	  Dim tDetalle As DataTable=AvisoArriboDetalle.Tables(1)
	  Dim tAnexos As DataTable=AvisoArriboDetalle.Tables(2)
	  Dim tIncidencias As DataTable=AvisoArriboDetalle.Tables(3)
	  
      reporte.SetParameterValue("pCodigo", tEncabezado.Rows(0)("CODIGO"))
      reporte.SetParameterValue("pFechaSolicitud", CDate(tEncabezado.Rows(0)("FECHACREACION")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pEmisor", tEncabezado.Rows(0)("NOMBRE"))

      'Detalle del documento
	  reporte.SetParameterValue("pnid", tDetalle.Rows(0)("nid").ToString)
      reporte.SetParameterValue("pnidDocumento", tDetalle.Rows(0)("nidDocumento").ToString)
      reporte.SetParameterValue("pnidPais_Origen", tDetalle.Rows(0)("nidPais_Origen").ToString)
      reporte.SetParameterValue("pnidPais_Destino", tDetalle.Rows(0)("nidPais_Destino").ToString)
      reporte.SetParameterValue("pnidPuerto_Origen", tDetalle.Rows(0)("nidPuerto_Origen").ToString)
      reporte.SetParameterValue("pnidPuerto_Destino", tDetalle.Rows(0)("nidPuerto_Destino").ToString)
      reporte.SetParameterValue("pTRB", tDetalle.Rows(0)("TRB").ToString)
      reporte.SetParameterValue("peslora", tDetalle.Rows(0)("eslora").ToString)
      reporte.SetParameterValue("pcalado", tDetalle.Rows(0)("calado").ToString)
      reporte.SetParameterValue("pmanga", tDetalle.Rows(0)("manga").ToString)
      reporte.SetParameterValue("pTRN", tDetalle.Rows(0)("TRN").ToString)
      reporte.SetParameterValue("pfecha_ETA", CDate(tDetalle.Rows(0)("fecha_ETA")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pfecha_ETF", CDate(tDetalle.Rows(0)("fecha_ETF")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pnoExisteBuque", tDetalle.Rows(0)("noExisteBuque").ToString)
      reporte.SetParameterValue("pletraLlamada", tDetalle.Rows(0)("letraLlamada").ToString)
      reporte.SetParameterValue("pbandera", tDetalle.Rows(0)("bandera").ToString)
      reporte.SetParameterValue("pnidBuque", tDetalle.Rows(0)("nidBuque").ToString)
      reporte.SetParameterValue("pnidViaje", tDetalle.Rows(0)("nidViaje").ToString)
      reporte.SetParameterValue("pnidEmpRemolcador", tDetalle.Rows(0)("nidEmpRemolcador").ToString)
      reporte.SetParameterValue("pnidEmpPilotos", tDetalle.Rows(0)("nidEmpPilotos").ToString)
      reporte.SetParameterValue("pnidCargaImpo", tDetalle.Rows(0)("nidCargaImpo").ToString)
      reporte.SetParameterValue("pnidCargaExpo", tDetalle.Rows(0)("nidCargaExpo").ToString)
      reporte.SetParameterValue("pnidCargaCabEnt", tDetalle.Rows(0)("nidCargaCabEnt").ToString)
      reporte.SetParameterValue("pnidCargaCabSal", tDetalle.Rows(0)("nidCargaCabSal").ToString)
      reporte.SetParameterValue("ptonelaje_Expo", tDetalle.Rows(0)("tonelaje_Expo").ToString)
      reporte.SetParameterValue("ptonelaje_Impo", tDetalle.Rows(0)("tonelaje_Impo").ToString)
      reporte.SetParameterValue("ptonelaje_CabEnt", tDetalle.Rows(0)("tonelaje_CabEnt").ToString)
      reporte.SetParameterValue("ptonelaje_CabSal", tDetalle.Rows(0)("tonelaje_CabSal").ToString)
      reporte.SetParameterValue("pdescargaXDia", tDetalle.Rows(0)("descargaXDia").ToString)
      reporte.SetParameterValue("pcargaXDia", tDetalle.Rows(0)("cargaXDia").ToString)
      reporte.SetParameterValue("pdescargaXDiaCabEnt", tDetalle.Rows(0)("descargaXDiaCabEnt").ToString)
      reporte.SetParameterValue("pcargaXDiaCabSal", tDetalle.Rows(0)("cargaXDiaCabSal").ToString)
      reporte.SetParameterValue("pMMSI", tDetalle.Rows(0)("MMSI").ToString)
      reporte.SetParameterValue("pfacturar", tDetalle.Rows(0)("facturar").ToString)
      reporte.SetParameterValue("pnombre_Buque", tDetalle.Rows(0)("nombre_Buque").ToString)
      reporte.SetParameterValue("pdescCargaExpo", tDetalle.Rows(0)("descCargaExpo").ToString)
      reporte.SetParameterValue("pdescCargaImpo", tDetalle.Rows(0)("descCargaImpo").ToString)
      reporte.SetParameterValue("pdescCargaCabEnt", tDetalle.Rows(0)("descCargaCabEnt").ToString)
      reporte.SetParameterValue("pdescCargaCabSal", tDetalle.Rows(0)("descCargaCabSal").ToString)
      reporte.SetParameterValue("pmotivoCancelacion", tDetalle.Rows(0)("motivoCancelacion").ToString)
      reporte.SetParameterValue("pobservaciones", tDetalle.Rows(0)("observaciones").ToString)
      reporte.SetParameterValue("pcapitan", tDetalle.Rows(0)("capitan").ToString)
      reporte.SetParameterValue("pnum_Serie", tDetalle.Rows(0)("num_Serie").ToString)
      reporte.SetParameterValue("pnidPais_OrigenCarga", tDetalle.Rows(0)("nidPais_OrigenCarga").ToString)
      
      

      'Datos Anexos
      Dim anexos As String = ""
      Dim tipos As String = ""
      For i As Integer = 0 To tAnexos.Rows.Count - 1
        anexos += tAnexos.Rows(i)("NOMBRE") + Chr(13)
        tipos += tAnexos.Rows(i)("TIPO") + Chr(13)
      Next
      reporte.SetParameterValue("pAnexos", anexos)
      reporte.SetParameterValue("pAnexoTipo", tipos)

      'Datos Incidencias
      Dim fecha As String = ""
      Dim descripcion As String = ""
      Dim emisor As String = ""
      For i As Integer = 0 To tIncidencias.Rows.Count - 1
        fecha += CDate(tIncidencias.Rows(i)("FECHAEMISION")).ToString("dd/MM/yyyy hh:mm:ss") + Chr(13)
        descripcion += tIncidencias.Rows(i)("DESCRIPCION") + Chr(13)
        emisor += tIncidencias.Rows(i)("NOMBRE") + Chr(13)
      Next
      reporte.SetParameterValue("pFechaIncidencia", fecha)
      reporte.SetParameterValue("pDescripcionIncidencia", descripcion)
      reporte.SetParameterValue("pEmisorIncidencia", emisor)


      'Cargar informacion de firma electronica
      Dim consultaFirmas As New DataAccesGenerales()
      Dim firmas As New DataTable("CasetaFirmas")
      firmas = consultaFirmas.consultarFirmas(CInt(Request.QueryString("nidDocumento")))
      Dim cadenaFirmas As String = String.Empty
      For Each datoFirma In firmas.Rows
        cadenaFirmas = cadenaFirmas & datoFirma("Firma").ToString() & " "+ Chr(13)
      Next
      reporte.SetParameterValue("pFirma", cadenaFirmas)

      'crvAvisoArribo.ParameterFieldInfo.Clear()
      Me.crvAvisoArribo.HasExportButton = False
      Me.crvAvisoArribo.HasToggleGroupTreeButton = False
      Me.crvAvisoArribo.EnableParameterPrompt = False
      'Me.crvAvisoArribo.ParameterFieldInfo = False
      Me.crvAvisoArribo.ReportSource = reporte

    Catch ex As Exception
      lblMensaje.Text = "Error al Cargar reporte: " + ex.Message
    End Try
  End Sub

End Class
